#!/usr/bin/env python3
import subprocess
import sys
import platform

def open_chrome(url):
    # 确定操作系统
    os_name = platform.system()
    
    # 根据操作系统构建打开 Chrome 的命令
    if os_name == "Windows":
        # Windows 系统上 Chrome 的默认安装路径（可能需要根据实际情况修改）
        chrome_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
        command = [chrome_path, url]
    elif os_name == "Darwin":  # macOS
        # macOS 上使用 open 命令打开 Chrome，并传递网址作为参数
        # 这里假设 Chrome 已经被正确安装，并且可以通过 "google-chrome" 命令调用
        chrome_path = '/Applications/Google Chrome.app'
        command = ['open', '-a', chrome_path, url]
    elif os_name == "Linux":
        # Linux 系统上 Chrome 的路径可能有所不同
        # 这里假设 Chrome 可以通过 "google-chrome" 命令调用
        command = ['google-chrome', url]
    else:
        raise NotImplementedError(f"Unsupported operating system: {os_name}")
    
    # 使用 subprocess 模块执行命令
    try:
        subprocess.run(command, check=True)
    except subprocess.CalledProcessError as e:
        print(f"Failed to open Chrome with error: {e}")
        sys.exit(1)

if __name__ == "__main__":

    json_array = [
            {"name": "效能平台-任务", "url": 'https://dev.hundsun.com/frameV2/pms/taskNew?task_id=13628814'},
            {"name": "协同办公首页", "url": 'https://synergy.hundsun.com/wui/main.jsp'},
            {"name": "Jenkins打包平台", "url": 'http://ci.hundsun.com/jingteng/view/产品/view/投资赢家app/view/开发目录-杰蛙/view/开发构建-鸿蒙/job/yy-app-1.0-hms-security-01-git-jfrog-APP70/'},
            {"name": "JIRA缺陷平台", "url": 'https://se.hundsun.com/secure/Dashboard.jspa'},
        ]
    
    # 遍历JSON数组并打印每个模型的name属性
    for index, model in enumerate(json_array, start=1):  # start=1 表示序号从1开始
        print(f"{index}: {model['name']}")
        
    # 提示用户输入
    user_input = int(input(f"请选择1-{len(json_array)}: "))
    # 默认网页
    url = "https://yiyan.baidu.com/"
    if 1 <= user_input <= len(json_array):
        selected_model = json_array[user_input - 1]  # 用户输入的是1-based索引，需要转换为0-based
        print(f"你选择了: {selected_model['name']}")
        url = selected_model['url']
        # 如果需要，你还可以打印或处理其他属性
        # print(f"其他属性: {selected_model['other_property']}")
    else:
        print("未输入可供打开的选项，将打开默认网页")

    open_chrome(url)        
